Camera::Camera(Vector *posicao,Vector *towards, Vector *up,Vector *eixoX, Vector *eixoY, Vector *eixoZ, double distancia) {
	if (posicao) this->posicao = posicao;
	if (towards) this->towards = towards;
	if (up) this->up = up;
	if (eixoX) this->eixoX = eixoX;
	if (eixoY) this->eixoY = eixoY;
	if (eixoZ) this->eixoZ = eixoZ;
	this->distancia = distancia;
	
	if (this->towards && this->up) {
		this->towards = this->towards->vetorUnitario();
		this->up = this->up->vetorUnitario();
		this->right = this->towards->produtoVetorial(this->up);
	}
}
